// pages/mine/login/login.js
const app = getApp();
import { _send_vcode, _login_regist, _username_login_regist } from '../../../utils/qiaofinn'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    mobile: '',
    vcode: '',
    password: '',
    has_send: false,
    snsMsgWait: 60,
    sendColor: '#39B54A',
    sendTime: '获取验证码',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  bindGetUserInfo: function () {
    const that = this
    wx.getUserInfo({
      lang: 'zh_CN',
      success: function (res) {
        app.globalData.userInfo = res.userInfo,
          wx.setStorageSync('userInfo', res.userInfo)
        const { mobile, vcode, } = that.data
        if (mobile === '' || vcode === '') {
          wx.showToast({
            icon: 'none',
            title: '手机号和验证码不能为空！',
          })
          return
        }
        _login_regist(mobile, vcode, JSON.stringify(res.userInfo), res => {
          if (res.status) {
            // 存储token
            wx.setStorageSync('token', res.data.token)
            app.globalData.token = res.data.token
            wx.showToast({
              title: '登录成功',
              icon: 'none',
            })
            wx.navigateBack({
              delta: 1
            })
          } else {
            wx.showToast({
              title: '登录失败,手机号或者验证码错误',
              icon: 'none',
            })
          }
        })
      },
      fail: function (res) {
        wx.showToast({
          title: '请允许授权后进行注册登录！',
          icon: 'none',
        })
      }
    })
  },
  // 注册登录
  loginTap() {
    const { mobile, password } = this.data
    var mobilereg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
    if (mobile == "" || mobile.length != 11 || !mobilereg.test(mobile)) {
      wx.showToast({
        icon: 'none',
        title: '电话格式错误',
      })
      return
    }
    var passwordreg = /^[a-zA-Z0-9]{6,}$/;
    if (password == "" || password.length < 6 || !passwordreg.test(password)) {
      wx.showToast({
        icon: 'none',
        title: '请输入由数字和英文字母组成的至少6位字符串',
      })
      return
    }
    let data = { mobile: mobile, password: password, userInfo: JSON.stringify(app.globalData.userInfo) }

    _username_login_regist(data, res => {
      if (res.status) {
        // 存储token
        console.log(res)
        wx.setStorageSync('token', res.data.token)
        app.globalData.token = res.data.token
        app.globalData.is_login = true
        app.globalData.identity_worker = res.data.identity === 2 ? true : false
        wx.showToast({
          icon: 'none',
          title: '登录成功',
        })
        wx.navigateBack({
          delta: 1,
        })
      } else {
        wx.showToast({
          icon: 'none',
          title: res.message,
        })
        return
      }
    })
  },
  // 获取验证码
  senVCode: function () {

    let regMobile = /^(1[3|4|5|6|7|8|9])\d{9}$/;
    let mobile = this.data.mobile
    if (mobile.length != 11 || !regMobile.test(this.data.mobile)) {
      wx.showToast({
        icon: 'none',
        title: '请输入正确的手机号',
      })
      return
    }
    // 发送验证码
    _send_vcode(mobile, res => {
      if (res.status) {
        wx.showToast({
          title: '发送成功！',
          icon: 'none'
        })
      } else {
        wx.showToast({
          title: '发送失败！',
          icon: 'none'
        })
      }
    })
    // 60秒后重新获取验证码
    var inter = setInterval(function () {
      this.setData({
        smsFlag: true,
        sendColor: '#333333',
        sendTime: this.data.snsMsgWait + 's后重发',
        snsMsgWait: this.data.snsMsgWait - 1
      });
      if (this.data.snsMsgWait < 0) {
        clearInterval(inter)
        this.setData({
          sendColor: '#39B54A',
          sendTime: '获取验证码',
          snsMsgWait: 60,
          smsFlag: false
        });
      }
    }.bind(this), 1000);
  },
  // 手机号
  mobileInput: function (res) {
    this.setData({
      mobile: res.detail.value
    })
  },
  // 密码
  passwordInput: function (res) {
    this.setData({
      password: res.detail.value
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})